// ========注册=========登录 =========接口

const router = require('koa-router')() // 实例化nwe路由
const result = require('../jian-config/body-result.js') // 返回的josn方式
const { getToken, addurl, chaxun_refer } = require('../jian-config/shuojuku-database') // addurl 数据库插入记录链接
const { regcheck } = require('../jian-config/xiaoyan-charm') // 校监前端数据传过来的时候是否验证合格
const { gentoken, Decryption } = require('../jian-config/jiami-token') 

// 注册接口
router.post('/register', async ctx => {
  //  post 提交的值在request里面
  let { username, password } = ctx.request.body
  // // 检验前端传来的值是否合格
  new regcheck(ctx, username, password).start()
  // 查看用户是否已注册
  const query = `db.collection('business_account').where({username:'${username}'}).get()`
  try {
    let res = await new getToken().database(chaxun_refer, query)
    if (res.data.length > 0) {
      // 代表里面有数据，已注册用户
      new result(ctx, '用户已注册过', 202)
    } else {
      // 用户没有注册，进行注册 账号号码  密码 商家uid（唯一标识）
      const uid = JSON.stringify(new Date().getTime()) // 生成uid 且转成字符串
      const OBJ = JSON.stringify({ uid, username, password }) // 生成uid 且转成字符串
      // 插入注册的用户
      const addquery = `db.collection('business_account').add({data:${OBJ}})`
      await new getToken().database(addurl, addquery)
      new result(ctx, '用户已注册成功', 200)
    }
  } catch (e) {
    new result(e, '注册失败，服务器发送错误', 500)
  }
})

// 登录接口
router.post('/login', async ctx => {
  let { username, password } = ctx.request.body // 获取用户数据
  // console.log(username,password,ctx.request.body,'up');
  // // 检验前端传来的值是否合格
  new regcheck(ctx, username, password).start()
  // 登录接口的使用
  const query = `db.collection('business_account').where({username:'${username}', password:'${password}'}).get()`
  try {
    let res = await new getToken().database(chaxun_refer, query)
    if (res.data.length == 0) {
      new result(ctx, '登录失败，账号或密码错误', 202)
    } else {
      const OBJ = JSON.parse(res.data[0])
       // data: ['{"_id":"c03e4445638b06c7017320bc066fab0b","password":"liuxuhui610","uid":"1670055623214","username":"18339632610"}']
      new result(ctx, '登录成功', 200, { token: gentoken(OBJ.uid) })
    }
  } catch (error) {
    new result(error, '登录失败，服务器发送错误', 500)
  }
})



//
router.get('/safsdfa', new Decryption().m, async ctx => {
  try {
    console.log(111111111111);
    new result(ctx,'添加成功',200)
  } catch (error) {
    console.log(error);
  }
  // console.log(ctx.auth.uid,123); //  这样可以获取ctx.auth.uid解析过的uid值
})
// https://diancan-8gckycem626162ec-1254250118.tcloudbaseapp.com/admin/index.html
// https://diancan-1252107261.cos.ap-chengdu.myqcloud.com/image/1659890641451-3098406.png 店铺logo在线地址



module.exports = router.routes()







//  let name = '刘旭辉'
// let query = "db.collection(\"cheshi\").add({data:[{intro:\"\\\t测试!\"}]})"
// let res = await new getToken().database(addurl,query)
// new result(ctx, '请求成功')